Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.

...powered by www.netzwerkartist.de...

Inhaltsverzeichnis
Vorwort
1 Java ist auch eine Sprache
2 Sprachbeschreibung
3 Klassen und Objekte
4 Der Umgang mit Zeichenketten
5 Mathematisches
6 Eigene Klassen schreiben
7 Exceptions
8 Die Funktionsbibliothek
9 Threads und nebenläufige Programmierung
10 Raum und Zeit
11 Datenstrukturen und Algorithmen
12 Dateien und Datenströme
13 Die eXtensible Markup Language (XML)
14 Grafische Oberflächen mit Swing
15 Grafikprogrammierung
16 Das Netz
17 JavaServer Pages und Servlets
18 Verteilte Programmierung mit RMI und Web–Services
19 Applets, Midlets und Sound
20 Datenbankmanagement mit JDBC
21 Reflection und Annotationen
22 Komponenten durch Bohnen
23 Logging und Monitoring
24 Sicherheitskonzepte
25 Java Native Interface (JNI)
26 Dienstprogramme für die Java-Umgebung
A Die Begleit-DVD
Index

Download:
- ZIP, ca. 12,5 MB
Buch bestellen

Website zum Buch
Weblog des Autors
Ihre Meinung?

Spacer
 <<   zurück
Java ist auch eine Insel von Christian Ullenboom
Programmieren mit der Java Standard Edition Version 6
Buch: Java ist auch eine Insel

Java ist auch eine Insel
6., akt. und erw. Aufl., mit DVD
1.454 S., 49,90 Euro
Galileo Computing
ISBN 3-89842-838-9
gp 26 Dienstprogramme für die Java-Umgebung
  gp 26.1 Die Werkzeuge im Überblick
  gp 26.2 Java-Compiler
    gp 26.2.1 Bytecode Compiler javac
    gp 26.2.2 Native Compiler
    gp 26.2.3 Java-Programme in ein natives ausführbares Programm einpacken
  gp 26.3 Der Java-Interpreter java
    gp 26.3.1 Der Unterschied zwischen java.exe und javaw.exe
  gp 26.4 Das Archivformat Jar
    gp 26.4.1 Das Dienstprogramm Jar benutzen
    gp 26.4.2 Das Manifest
    gp 26.4.3 Applikationen in Jar-Archiven starten
    gp 26.4.4 Applets in Jar-Archiven
  gp 26.5 Monitoringprogramme
    gp 26.5.1 jps
    gp 26.5.2 jstat
    gp 26.5.3 jmap
    gp 26.5.4 jstack
  gp 26.6 Ant
    gp 26.6.1 Bezug und Installation von Ant
    gp 26.6.2 Properties
    gp 26.6.3 Externe und vordefinierte Properties
    gp 26.6.4 Weitere Ant-Tasks
  gp 26.7 Decompiler und Obfuscatoren
    gp 26.7.1 Der Decompiler Jad
    gp 26.7.2 Das Decompilieren erschweren
    gp 26.7.3 Das Obfuscator-Programm ProGuard
  gp 26.8 Sourcecode Beautifier
  gp 26.9 Zum Weiterlesen


Galileo Computing

26.5 Monitoringprogramme  downtop

Seit Java 5 und Java 6 sind im bin-Order einer JDK-Installation Programme hinzugekommen, die die gestarteten Java-Programme auflisten und gezielte Anfragen erlauben. Wie andere Dienstprogramme, dokumentiert Sun die Programme unter http://java-tutor.com/go/tools. Zwei Webseiten mit Beschreibungen einiger Tools sind http://www.sun.com/bigadmin/features/articles/java_se6_observability.html und http://blogs.sun.com/roller/page/sundararajan?entry=what_s_in_my_java.


Galileo Computing

26.5.1 jps  downtop

Das Programm jps ist das »Java Virtual Machine Process Status Tool« liefert alle laufenden Java-Programme mit einer lokalen VM Identifizierer.

C:\Programme\Java\jdk1.6.0\bin>jps -l 
2032 sun.tools.jps.Jps 
3728 
2460 C:\Programme\Eclipse\eclipse32\startup.jar

Die Option -l zeigt den Paketnamen an. Die weiteren Optionen -m zeigen Argumente der main()-Methode. In dieser Sitzung ist die ID von Eclipse 2460. Die folgenden Beispiele nutzt die ID für zusätzliche Anfragen.


Galileo Computing

26.5.2 jstat  downtop

Mit jstat, dem »Java Virtual Machine Statistics Monitoring Tool«, ist es möglich, Performance-Statistiken zu erfragen.

C:\Programme\Java\jdk1.6.0\bin>jstat -gcutil 2460 
  S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT 
  0,00   0,00   0,14  38,88  99,64    299    2,682   107   55,371   58,053

Die Ausgaben zeigen zum Beispiel mit FGC die Anzahl der GC-Ereignisse an.


Galileo Computing

26.5.3 jmap  downtop

Das Tool »Memory Map« jmap zeigt eine Liste mit der Anzahl Exemplare von Java-Objekten und wie viel Hauptspeicher sie verbrauchen.

C:\Programme\Java\jdk1.6.0\bin>jmap -histo 2460 
num   #instances    #bytes  class name 
-------------------------------------- 
  1:     88096    13401560  <constMethodKlass> 
  2:     88096     7055480  <methodKlass> 
  3:    145875     6878904  <symbolKlass> 
  4:     70039     6100016  [C 
  5:      8568     5586736  <constantPoolKlass> 
  6:      8568     3901512  <instanceKlassKlass> 
  7:      7501     3419840  <constantPoolCacheKlass> 
  8:      9016     2093560  [B 
  9:     67391     1617384  java.lang.String 
 10:     11009     1247312  [I 
 11:      3435     1147928  [Ljava.util.HashMap$Entry; 
... 
3819:         1           8  org.eclipse.core.internal.expressions.TypeExtension$1 
3820:         1           8  org.eclipse.jdt.launching.StandardSourcePathProvider 
Total   707359    60781592

Galileo Computing

26.5.4 jstack  toptop

Das Stack Trace Programm jstack zeigt laufenden Threads an zusammen mit Informationen über den durch Monitore erzwungenen Wartezustand. Ein Ausschnitt für die Eclipse-Threads:

C:\Programme\Java\jdk1.6.0\bin>jstack 2460 
2006-08-01 21:19:38 
Full thread dump Java HotSpot(TM) Client VM (1.6.0-rc-b92 mixed mode, sharing): 
 
"CompilerThread0" daemon prio=10 tid=0x02b08000 nid=0x8b0 waiting on condition ð 
[0x00000000..0x02dbf61c] 
   java.lang.Thread.State: RUNNABLE 
 
"Finalizer" daemon prio=8 tid=0x02b01800 nid=0xfd0 in Object.wait() [0x02ccf000. 
.0x02ccfa94] 
   java.lang.Thread.State: WAITING (on object monitor) 
        at java.lang.Object.wait(Native Method) 
        - waiting on <0x17d102b0> (a java.lang.ref.ReferenceQueue$Lock) 
        at java.lang.ref.ReferenceQueue.remove(Unknown Source) 
        - locked <0x17d102b0> (a java.lang.ref.ReferenceQueue$Lock) 
        at java.lang.ref.ReferenceQueue.remove(Unknown Source) 
        at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source) 
 
"main" prio=6 tid=0x00386000 nid=0x8d4 runnable [0x003ef000..0x003efe5c] 
   java.lang.Thread.State: RUNNABLE 
        at org.eclipse.swt.internal.win32.OS.WaitMessage(Native Method) 
        at org.eclipse.swt.widgets.Display.sleep(Display.java:3736) 
 ... 
 
 
"VM Thread" prio=10 tid=0x02af3c00 nid=0xb04 runnable 
 
"VM Periodic Task Thread" prio=10 tid=0x02b27800 nid=0x16c waiting on condition 
 
JNI global references: 1307


Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.





 <<   zurück



Copyright © Galileo Press 2007
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de